import { get, post, put, del } from '../utils/request';

/**
 * 获取流程配置列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页数量
 * @param {string} [params.name] - 流程名称
 * @param {string} [params.status] - 状态
 * @returns {Promise<ApiResponse>} 响应数据
 */
export const getProcessConfigs = (params) => {
  return get('/api/process-configs', params);
};

/**
 * 获取流程配置详情
 * @param {number|string} id - 流程配置ID
 * @returns {Promise<ApiResponse>} 响应数据
 */
export const getProcessConfigDetail = (id) => {
  return get(`/api/process-configs/${id}/detail`);
};

/**
 * 创建流程配置
 * @param {Object} data - 流程配置数据
 * @param {string} data.name - 流程名称
 * @param {string} data.description - 流程描述
 * @param {Object} data.processData - 流程数据配置
 * @param {Array} data.nodes - 流程节点配置
 * @returns {Promise<ApiResponse>} 响应数据
 */
export const createProcessConfig = (data) => {
  return post('/api/process-configs', data);
};

/**
 * 更新流程配置
 * @param {number|string} id - 流程配置ID
 * @param {Object} data - 流程配置数据
 * @returns {Promise<ApiResponse>} 响应数据
 */
export const updateProcessConfig = (id, data) => {
  return put(`/api/process-configs/${id}`, data);
};

/**
 * 删除流程配置
 * @param {number|string} id - 流程配置ID
 * @returns {Promise<ApiResponse>} 响应数据
 */
export const deleteProcessConfig = (id) => {
  return del(`/api/process-configs/${id}`);
};